//
// Created by alexa on 5/14/2024.
//

#ifndef ARTILLERYSYSTEM_BATTALIONSMENU_H
#define ARTILLERYSYSTEM_BATTALIONSMENU_H


#include "../_abstract-menu/Menu.h"

class BattalionsMenu : public Menu {
    BattalionsService *service;

    Battalion *findBattalion();

    void displayBattalionList();

    void deleteBattalion(Battalion *battalion);

    void printBattalionList(vector<Battalion *> list);

    void printBattalionInfo(Battalion *battalion, vector<CombatUnit*> units);

    void printMenu();

    void createBattalion();

    void removeUnitFromBattalion(Battalion *battalion);

    void addUnitToBattalion(Battalion *battalion);

    void displayBattalionInfo(Battalion *battalion);

    void findAndDisplayBattalionInfo();

public:
    BattalionsMenu(i18n::Translator *t, UserInterface *ui, BattalionsService *service);

    void displayMenu() override;
};


#endif //ARTILLERYSYSTEM_BATTALIONSMENU_H
